<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LibCDS: /home/zsshen/Desktop/git-hub-code/C-Common-Data-Structures/include/list/dlinked_list.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LibCDS
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dlinked__list_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dlinked_list.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The doubly linked list.  
<a href="#details">More...</a></p>

<p><a href="dlinked__list_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDLinkedList.html">DLinkedList</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The implementation for doubly linked list.  <a href="structDLinkedList.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a02f9a26c873c42cc73a3b87198908f24"><td class="memItemLeft" align="right" valign="top">typedef struct _DListData&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a02f9a26c873c42cc73a3b87198908f24">DListData</a></td></tr>
<tr class="memdesc:a02f9a26c873c42cc73a3b87198908f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">DListData is the data type for the container private information.  <a href="#a02f9a26c873c42cc73a3b87198908f24">More...</a><br/></td></tr>
<tr class="separator:a02f9a26c873c42cc73a3b87198908f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abdfa4541d1e58552c49d1aed27842631"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#abdfa4541d1e58552c49d1aed27842631">DListInit</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> **ppObj)</td></tr>
<tr class="memdesc:abdfa4541d1e58552c49d1aed27842631"><td class="mdescLeft">&#160;</td><td class="mdescRight">The constructor for <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a>.  <a href="#abdfa4541d1e58552c49d1aed27842631">More...</a><br/></td></tr>
<tr class="separator:abdfa4541d1e58552c49d1aed27842631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae6963622c12bcf4d72744f38d1e7822"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#aae6963622c12bcf4d72744f38d1e7822">DListDeinit</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> **ppObj, bool bClean)</td></tr>
<tr class="memdesc:aae6963622c12bcf4d72744f38d1e7822"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor for <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a>.  <a href="#aae6963622c12bcf4d72744f38d1e7822">More...</a><br/></td></tr>
<tr class="separator:aae6963622c12bcf4d72744f38d1e7822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add3e1c102d5c490ad545de0562219371"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#add3e1c102d5c490ad545de0562219371">DListPushFront</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item)</td></tr>
<tr class="memdesc:add3e1c102d5c490ad545de0562219371"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push an item to the head of the list.  <a href="#add3e1c102d5c490ad545de0562219371">More...</a><br/></td></tr>
<tr class="separator:add3e1c102d5c490ad545de0562219371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d671081a47f418cab95b27e29c714d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a16d671081a47f418cab95b27e29c714d">DListPushBack</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item)</td></tr>
<tr class="memdesc:a16d671081a47f418cab95b27e29c714d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push an item to the tail of the list.  <a href="#a16d671081a47f418cab95b27e29c714d">More...</a><br/></td></tr>
<tr class="separator:a16d671081a47f418cab95b27e29c714d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a049fbc59e2ec06b413499e0f6041c4e5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a049fbc59e2ec06b413499e0f6041c4e5">DListInsert</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item, int32_t iIdx)</td></tr>
<tr class="memdesc:a049fbc59e2ec06b413499e0f6041c4e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert an item to the designated index of the list.  <a href="#a049fbc59e2ec06b413499e0f6041c4e5">More...</a><br/></td></tr>
<tr class="separator:a049fbc59e2ec06b413499e0f6041c4e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a953ea5e8dbb979efbee5dd21fb17fc5c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a953ea5e8dbb979efbee5dd21fb17fc5c">DListPopFront</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, bool bClean)</td></tr>
<tr class="memdesc:a953ea5e8dbb979efbee5dd21fb17fc5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop an item from the head of the list.  <a href="#a953ea5e8dbb979efbee5dd21fb17fc5c">More...</a><br/></td></tr>
<tr class="separator:a953ea5e8dbb979efbee5dd21fb17fc5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad169e45fe0cec35a3cccfb8082621892"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#ad169e45fe0cec35a3cccfb8082621892">DListPopBack</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, bool bClean)</td></tr>
<tr class="memdesc:ad169e45fe0cec35a3cccfb8082621892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop an item from the tail of the list.  <a href="#ad169e45fe0cec35a3cccfb8082621892">More...</a><br/></td></tr>
<tr class="separator:ad169e45fe0cec35a3cccfb8082621892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80956794899b4b40680b33f2ea43e63f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a80956794899b4b40680b33f2ea43e63f">DListDelete</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, int32_t iIdx, bool bClean)</td></tr>
<tr class="memdesc:a80956794899b4b40680b33f2ea43e63f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an item from the designated index of the list.  <a href="#a80956794899b4b40680b33f2ea43e63f">More...</a><br/></td></tr>
<tr class="separator:a80956794899b4b40680b33f2ea43e63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6d148bfcc2f203fb4eea9e631478243"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#ac6d148bfcc2f203fb4eea9e631478243">DListSetFront</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item, bool bClean)</td></tr>
<tr class="memdesc:ac6d148bfcc2f203fb4eea9e631478243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an item at the head of the list.  <a href="#ac6d148bfcc2f203fb4eea9e631478243">More...</a><br/></td></tr>
<tr class="separator:ac6d148bfcc2f203fb4eea9e631478243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c2453e554662a85e164fa1ae127cc5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a28c2453e554662a85e164fa1ae127cc5">DListSetBack</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item, bool bClean)</td></tr>
<tr class="memdesc:a28c2453e554662a85e164fa1ae127cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an item at the tail of the list.  <a href="#a28c2453e554662a85e164fa1ae127cc5">More...</a><br/></td></tr>
<tr class="separator:a28c2453e554662a85e164fa1ae127cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824ec731fadeec2479104b0ef7787725"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a824ec731fadeec2479104b0ef7787725">DListSetAt</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> item, int32_t iIdx, bool bClean)</td></tr>
<tr class="memdesc:a824ec731fadeec2479104b0ef7787725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace an item at the designated index of the list.  <a href="#a824ec731fadeec2479104b0ef7787725">More...</a><br/></td></tr>
<tr class="separator:a824ec731fadeec2479104b0ef7787725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56295bc420e7261c08eb87fd1174fcb8"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a56295bc420e7261c08eb87fd1174fcb8">DListGetFront</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *pItem)</td></tr>
<tr class="memdesc:a56295bc420e7261c08eb87fd1174fcb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an item from the head of the list.  <a href="#a56295bc420e7261c08eb87fd1174fcb8">More...</a><br/></td></tr>
<tr class="separator:a56295bc420e7261c08eb87fd1174fcb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38c099725c114ff53ab5d15a8b337223"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a38c099725c114ff53ab5d15a8b337223">DListGetBack</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *pItem)</td></tr>
<tr class="memdesc:a38c099725c114ff53ab5d15a8b337223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an item from the tail of the list.  <a href="#a38c099725c114ff53ab5d15a8b337223">More...</a><br/></td></tr>
<tr class="separator:a38c099725c114ff53ab5d15a8b337223"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbc86549a7d1f6c6860c460e0ae0cdee"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#acbc86549a7d1f6c6860c460e0ae0cdee">DListGetAt</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *pItem, int32_t iIdx)</td></tr>
<tr class="memdesc:acbc86549a7d1f6c6860c460e0ae0cdee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an item from the designated index of the list.  <a href="#acbc86549a7d1f6c6860c460e0ae0cdee">More...</a><br/></td></tr>
<tr class="separator:acbc86549a7d1f6c6860c460e0ae0cdee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5c16f0e9f5fb3c2db132fc2f134a34d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#ae5c16f0e9f5fb3c2db132fc2f134a34d">DListSize</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self)</td></tr>
<tr class="memdesc:ae5c16f0e9f5fb3c2db132fc2f134a34d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of stored items.  <a href="#ae5c16f0e9f5fb3c2db132fc2f134a34d">More...</a><br/></td></tr>
<tr class="separator:ae5c16f0e9f5fb3c2db132fc2f134a34d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b16ee8a3822d91f20e81f9c84d9f689"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a3b16ee8a3822d91f20e81f9c84d9f689">DListReverse</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self)</td></tr>
<tr class="memdesc:a3b16ee8a3822d91f20e81f9c84d9f689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse the list.  <a href="#a3b16ee8a3822d91f20e81f9c84d9f689">More...</a><br/></td></tr>
<tr class="separator:a3b16ee8a3822d91f20e81f9c84d9f689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac72057d0940893ce0997168bfd9441"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlinked__list_8h.html#a4ac72057d0940893ce0997168bfd9441">DListSetDestroy</a> (<a class="el" href="structDLinkedList.html">DLinkedList</a> *self, void(*pFunc)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>))</td></tr>
<tr class="memdesc:a4ac72057d0940893ce0997168bfd9441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the user defined item clean method.  <a href="#a4ac72057d0940893ce0997168bfd9441">More...</a><br/></td></tr>
<tr class="separator:a4ac72057d0940893ce0997168bfd9441"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The doubly linked list. </p>

<p>Definition in file <a class="el" href="dlinked__list_8h_source.html">dlinked_list.h</a>.</p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a02f9a26c873c42cc73a3b87198908f24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _DListData <a class="el" href="dlinked__list_8h.html#a02f9a26c873c42cc73a3b87198908f24">DListData</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DListData is the data type for the container private information. </p>

<p>Definition at line <a class="el" href="dlinked__list_8h_source.html#l00011">11</a> of file <a class="el" href="dlinked__list_8h_source.html">dlinked_list.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="abdfa4541d1e58552c49d1aed27842631"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> **&#160;</td>
          <td class="paramname"><em>ppObj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The constructor for <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ppObj</td><td>The double pointer to the to be constructed list</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOMEM</td><td>Insufficient memory for list construction </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aae6963622c12bcf4d72744f38d1e7822"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DListDeinit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> **&#160;</td>
          <td class="paramname"><em>ppObj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The destructor for <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a>. </p>
<p>If the knob is on, it also runs the resource clean method for all the items.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ppObj</td><td>The double pointer to the to be destructed list </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="add3e1c102d5c490ad545de0562219371"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListPushFront </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Push an item to the head of the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_NOMEM</td><td>Insufficient memory for list extension </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a16d671081a47f418cab95b27e29c714d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListPushBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Push an item to the tail of the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_NOMEM</td><td>Insufficient memory for list extension </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a049fbc59e2ec06b413499e0f6041c4e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListInsert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>iIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert an item to the designated index of the list. </p>
<p>This function inserts an item to the designated index of the list and shifts the trailing items one position to the tail. The index can be positive or negative, but its absolute value should be smaller than or equal to the list size. The operation supports both forward and backward indexing. For the former one, the list is traversed from the head to the tail. And for the later one, the direction is reversed. To illustrate the behavior, let N denote the list size. Thus for forward indexing , index (0) and index (N-1) point to the head and tail. And for backward indexing, index (-1) and index (-N) point to the list tail and head. But no matter which indexing method is applied, the list always grows from the head to the tail.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item </td></tr>
    <tr><td class="paramname">iIdx</td><td>The designated index</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_NOMEM</td><td>Insufficient memory for list extension </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Out of range indexing</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The absolute value of the index should be smaller than or equal to the list size. </dd></dl>

</div>
</div>
<a class="anchor" id="a953ea5e8dbb979efbee5dd21fb17fc5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListPopFront </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pop an item from the head of the list. </p>
<p>This function removes an item from the head of the list. If the knob is on, it also runs the resource clean method for the removed item.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad169e45fe0cec35a3cccfb8082621892"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListPopBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pop an item from the tail of the list. </p>
<p>This function removes an item from the tail of the list. If the knob is on, it also runs the resource clean method for the removed item.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a80956794899b4b40680b33f2ea43e63f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListDelete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>iIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an item from the designated index of the list. </p>
<p>This function removes an item from the designated index of the list and shifts the trailing items one position to the head. If the knob is on, it also runs the resource clean method for the removed item. The operation supports both forward and backward indexing. Let N denote the list size and i denote the index. For forward indexing, inequality 0 &lt;= i &lt; N must be fitted. For backward indexing, inequality 0 &lt; i &lt;= -N must be fitted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">iIdx</td><td>The designated index </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Out of range indexing </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac6d148bfcc2f203fb4eea9e631478243"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListSetFront </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set an item at the head of the list. </p>
<p>This function replaces the head item with the designated one. If the knob is on, it also runs the resource clean method for the replaced item.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a28c2453e554662a85e164fa1ae127cc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListSetBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set an item at the tail of the list. </p>
<p>This function replaces the tail item with the designated one. If the knob is on, it also runs the resource clean method for the replaced item.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a824ec731fadeec2479104b0ef7787725"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListSetAt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>iIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bClean</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace an item at the designated index of the list. </p>
<p>This function replaces the item at the designated index with the designated one. If the knob is on, it also runs the resource clean method for the replaced item. The operation supports both forward and backward indexing. Let N denote the list size and i denote the index. For forward indexing, inequality 0 &lt;= i &lt; N must be fitted. For backward indexing, inequality 0 &lt; i &lt;= -N must be fitted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">item</td><td>The designated item </td></tr>
    <tr><td class="paramname">iIdx</td><td>The designated index </td></tr>
    <tr><td class="paramname">bClean</td><td>The knob to clean item resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Out of range index </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56295bc420e7261c08eb87fd1174fcb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListGetFront </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *&#160;</td>
          <td class="paramname"><em>pItem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an item from the head of the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">pItem</td><td>The pointer to the returned item</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If the exception occurs, the second parameter will be updated with NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="a38c099725c114ff53ab5d15a8b337223"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListGetBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *&#160;</td>
          <td class="paramname"><em>pItem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an item from the tail of the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">pItem</td><td>The pointer to the returned item</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Empty list</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If the exception occurs, the second parameter will be updated with NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="acbc86549a7d1f6c6860c460e0ae0cdee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListGetAt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a> *&#160;</td>
          <td class="paramname"><em>pItem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>iIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an item from the designated index of the list. </p>
<p>The operation supports both forward and backward indexing. Let N denote the list size and i denote the index. For forward indexing, inequality 0 &lt;= i &lt; N must be fitted. For backward indexing, inequality 0 &lt; i &lt;= -N must be fitted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">pItem</td><td>The pointer to the returned item </td></tr>
    <tr><td class="paramname">iIdx</td><td>The designated index</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">SUCC</td><td></td></tr>
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
    <tr><td class="paramname">ERR_IDX</td><td>Out of range index</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If the exception occurs, the second parameter will be updated with NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="ae5c16f0e9f5fb3c2db132fc2f134a34d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the number of stored items. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of stored item </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3b16ee8a3822d91f20e81f9c84d9f689"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListReverse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reverse the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4ac72057d0940893ce0997168bfd9441"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t DListSetDestroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDLinkedList.html">DLinkedList</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(<a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a>)&#160;</td>
          <td class="paramname"><em>pFunc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the user defined item clean method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>The pointer to the <a class="el" href="structDLinkedList.html" title="The implementation for doubly linked list. ">DLinkedList</a> structure </td></tr>
    <tr><td class="paramname">pFunc</td><td>The function pointer to the custom method</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">ERR_NOINIT</td><td>Uninitialized container </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_0aa88ba44bbec23a6de57be31686ecf8.html">list</a></li><li class="navelem"><a class="el" href="dlinked__list_8h.html">dlinked_list.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
